Cloud computing is a term that has recently been used to refer to using distributed virtualized computing environments to provide services remotely over the Internet in a distributed manner. In order to easily deal with dynamic demand patterns, the services are deployed in a virtualized manner across several servers, allowing nodes of each service to execute on any one of the several servers as utilization allows. These servers are typically commodity off-the-shelf (COTS) servers, available in bulk at commodity prices.
One example architecture for a distributed virtualized computing environment is the OpenStack architecture, which operates Nova compute nodes, Neutron networking nodes, Swift object storage nodes, and Cinder block storage nodes (as well as several other kinds of nodes) to effectively provide cloud services. A Cinder block storage node typically provides virtualized storage to the other nodes using local storage available on the COTS server on which the Cinder block storage node is running. This virtualized storage beneficially allows cloud services to access storage that persists across instantiation of the service on different COTS servers.